/**
	License:		Artistic license 2.0 (see license.txt, also available online at http://www.perlfoundation.org/artistic_license_2_0)
	Authors:		OrbitalLab (http://www.orbitallab.ru/moonglide/), 2007-2009

	File:			MoonCPU.d
	Description:	some CPU stuff
	Date:			14.04.2009 by Jurec
**/
module moonglide.util.MoonCPU;

import
	tango.text.convert.Layout,
	tango.io.Console,

	moonglide.io.LogSystem,
	moonglide.math.MoonMath;

class CCPUAnalyzer
{
	protected:
		this() {}
		static CCPUAnalyzer _singleton;

		bool _cpuid_support = false;

        void testOnCPUID()
        {
/*        asm
        {
            pushad                          ;
            pushfd                          ;
            pop EAX                         ;
            mov EBX, EAX                            ;
            btc EAX, 21;
            push EAX;
            popfd                        ;
            pushfd                        ;
            pop EAX                        ;
            xor EAX, EBX                        ;
            je no_cpuid                        ;

            mov _cpuid_support, 1d;
            jmp finish                        ;

            no_cpuid:                        ;
            mov _cpuid_support, false                        ;
            finish:                        ;
            popad                        ;
        }*/
        }
	public:
		static CCPUAnalyzer opCall()
		{
			if( !_singleton )
				_singleton = new CCPUAnalyzer();

			return _singleton;
		}

		void Analyze()
		{

		}
}
